from collections import defaultdict
from fileinput import filename

from ExcelUtils import get_data_by_col, get_term
from config import input_file


class Lesson:
    def __init__(self):
        self.name = '', #课程名称
        self.day = '', #星期几
        self.period = '', # 第几节课
        self.time = '', # 上课时间
        self.week = [],
        self.week_number = '', # 第几周
        self.date = '', # 上课日期
        # self.location = '' # 位置
        self.classroom = '' # 教室
        self.teaching_class = [] # 班级
        self.student_number = 0

    def __str__(self):
        teaching_class = ','.join(self.teaching_class)
        content = '''{} {} {} {} {} 第{}周 {} {} {} {}'''.format(self.date, self.day,self.period,self.time,self.name, str(self.week_number), self.location,self.classroom,teaching_class, str(self.student_number))
        return content


lessons = get_data_by_col(input_file, 1, 12, 2, 6)
lesson_list = defaultdict(list)
for lesson in lessons:
    day = '0'
    if lesson[0] == '星期一':
        day = '1'
    elif lesson[0] == '星期二':
        day = '2'
    elif lesson[0] == '星期三':
        day = '3'
    elif lesson[0] == '星期四':
        day = '4'
    elif lesson[0] == '星期五':
        day = '5'
    elif lesson[0] == '星期六':
        day = '6'
    elif lesson[0] == '星期日':
        day = '7'
    for i, less in enumerate(lesson):
        if i == 0:
            continue
        less = less.replace('◇', '\n').replace('\r\n','\n')
        if day in lesson_list:
            lesson_list[day].append(less)
        else:
            lesson_list[day] = [less]

# 获取学期学年信息
term = get_term(input_file)

# lesson_list = {
#     '2':
#         [
#             '''程序设计基础
#
#  (1-2节)4-14周
#
#  青岛恒星科技学院 A4-308
#
#  刘兴
#
#  2024软件技术专科1班;2024软件技术专科2班
#
#  56
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  多媒体教室'''
#         ],
#     '3': [
#         '''大学生创新创业教育
#
#  (1-2节)4-10周,12-17周
#
#  青岛恒星科技学院 混合式1
#
#  刘兴
#
#  2023计算机网络技术专科1班;2023计算机网络技术专科2班
#
#  57
#
#  未安排
#
#  理论:32
#
#  无
#
#  混合式''',
#         '''程序设计基础
#
#  (7-8节)14-18周
#
#  青岛恒星科技学院 A4-307
#
#  刘兴
#
#  2024软件技术专科1班;2024软件技术专科2班
#
#  56
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  多媒体教室'''
#     ],
#     '4': [
#         '''程序设计基础
#
#  (3-4节)4-18周(双)
#
#  青岛恒星科技学院 A4-309
#
#  刘兴
#
#  2024软件技术专科3班;2024软件技术专科4班
#
#  58
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  多媒体教室''',
#         '''程序设计基础
#
#  (3-4节)5-19周(单)
#
#  青岛恒星科技学院 A4-503
#
#  刘兴
#
#  2024软件技术专科3班;2024软件技术专科4班
#
#  58
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  多媒体教室''',
#         '''程序设计基础
#
#  (5-6节)4-18周(双)
#
#  青岛恒星科技学院 A4-208(信息学院实验室)
#
#  刘兴
#
#  2024软件技术专科3班;2024软件技术专科4班
#
#  58
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  计算机房''',
#         '''程序设计基础
#
#  (5-6节)5-11周(单)
#
#  青岛恒星科技学院 图书馆505
#
#  刘兴
#
#  2024软件技术专科3班;2024软件技术专科4班
#
#  58
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  计算机房''',
#         '''程序设计基础
#
#  (5-6节)13-19周(单)
#
#  青岛恒星科技学院 图书馆515
#
#  刘兴
#
#  2024软件技术专科3班;2024软件技术专科4班
#
#  58
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  计算机房'''
#     ],
#     '5': [
#         '''程序设计基础
#
#  (1-2节)4-19周
#
#  青岛恒星科技学院 图书馆509
#
#  刘兴
#
#  2024软件技术专科1班;2024软件技术专科2班
#
#  56
#
#  未安排
#
#  理论:32,实验:32
#
#  无
#
#  计算机房''',
#         '''大学生创新创业教育
#
#  (5-6节)11周,18周
#
#  青岛恒星科技学院 A4-413
#
#  刘兴
#
#  2023计算机网络技术专科1班;2023计算机网络技术专科2班
#
#  57
#
#  未安排
#
#  理论:32
#
#  无
#
#  多媒体教室''',
#         '''大学生创新创业教育
#
#  (7-8节)3周
#
#  青岛恒星科技学院 A4-401
#
#  刘兴
#
#  2023计算机网络技术专科1班;2023计算机网络技术专科2班
#
#  57
#
#  未安排
#
#  理论:32
#
#  无
#
#  多媒体教室'''
#     ]
# }
